'''
它有至少 8 个字符。
至少包含 一个小写英文 字母。
至少包含 一个大写英文 字母。
至少包含 一个数字 。
至少包含 一个特殊字符 。特殊字符为："!@#$%^&*()-+" 中的一个。
它 不 包含 2 个连续相同的字符（比方说 "aab" 不符合该条件，但是 "aba" 符合该条件）。
'''

class Solution:
    def strongPasswordCheckerII(self, password: str) -> bool:
        special_char_list = "!@#$%^&*()-+"
        flag = 1
        cc = ' '
        flag1 = 0
        flag2 = 0
        flag3 = 0
        flag4 = 0
        if len(password)<8:
            flag = 0
        for i in password:
            if i>='a' and i<='z':
                flag1 = 1
            if i>='A' and i<='Z':
                flag2 = 1
            if i in special_char_list:
                flag3 = 1
            if i >='0' and i<='9':
                flag4 = 1

            if cc == i:
                flag = 0
            cc = i
        if flag ==1 and flag1==1 and flag2 ==1 and flag3 ==1 and flag4 ==1:
            return True
        else:
            return False


    # 用函数
    def strongPasswordCheckerII(self, password: str) -> bool:
        special_char_list = "!@#$%^&*()-+"
        flag = 1
        cc = ' '
        flag1 = 0
        flag2 = 0
        flag3 = 0
        flag4 = 0
        if len(password) < 8:
            flag = 0
        for i in password:
            if i.islower():
                flag1 = 1
            if i.isupper():
                flag2 = 1
            if i in special_char_list:
                flag3 = 1
            if i.isdigit():
                flag4 = 1

            if cc == i:
                flag = 0
            cc = i
        if flag ==flag1 == flag2 ==  flag3== flag4 == 1:
            return True
        else:
            return False


if __name__ == '__main__':
    password = "yvTY#@IB#*!hjrQt-TLW&z)$@!%Duqt&ToskxHgnybqpndMI+wP&fcemIk#@KnkMTaUkcIbncpTL"
    solution = Solution()
    val = solution.strongPasswordCheckerII(password)
    print(val)